package com.tencreat.domain.mall.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tencreat.common.enums.AfterSaleStatus;
import com.tencreat.common.enums.OrderStatus;
import com.tencreat.common.enums.OrderType;
import com.tencreat.common.enums.PayType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 供应商发货列表
 * @author zixin
 */
@Data
public class MallSupplierOrderListVO {

    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("订单编号")
    private String orderSn;

    @ApiModelProperty("订单商品ＩＤ")
    private String orderGoodsId;

    @ApiModelProperty("商品名称")
    private String goodsName;

    @ApiModelProperty("商品名称")
    private String picUrl;

    @ApiModelProperty("商品ID")
    private String goodsId;

    @ApiModelProperty("数量")
    private Integer goodsNum;

    @ApiModelProperty("实付费用")
    private BigDecimal actualPrice;

    @ApiModelProperty("收件人")
    private String consignee;

    @ApiModelProperty("收件人手机号")
    private String mobile;

    @ApiModelProperty("地址")
    private String address;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("下单时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss")
    private String orderTime;

    @ApiModelProperty("用户ID")
    private Long uuid;
    @ApiModelProperty("手机号码")
    private String userPhone;
    @ApiModelProperty("商品规格")
    private String attribute;
    @ApiModelProperty("商品类型/订单类型")
    private OrderType orderType;
    @ApiModelProperty("优惠金额")
    private BigDecimal discount;
    @ApiModelProperty("抵扣金额")
    private BigDecimal deductPrice;
    @ApiModelProperty("售后状态")
    private AfterSaleStatus aftersaleStatus;
    @ApiModelProperty("支付方式")
    private PayType payType;
    @ApiModelProperty("支付截至时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    @ApiModelProperty("订单状态")
    private OrderStatus orderStatus;
}
